package com.sinosoft.product;

import java.math.BigDecimal;
import java.util.Date;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;

import org.compass.annotations.Searchable;
import org.compass.annotations.SearchableId;
import org.compass.annotations.SearchableProperty;
import org.hibernate.annotations.Cache;
import org.hibernate.annotations.CacheConcurrencyStrategy;

/**
 * ZywxImage1c entity. @author MyEclipse Persistence Tools
 */

@SuppressWarnings("serial")
@Entity
@Table(name="ZYWX_IMAGE_1C")
@Cache(usage= CacheConcurrencyStrategy.READ_ONLY)
@Searchable
public class ZywxImage1c implements java.io.Serializable {

	private String productid;
	private BigDecimal sceneid;
	private Date productdate;
	private String mapprojection;
	private String producttype;
	private String earthmodel;
	private String sensorid;
	private String satelliteid;
	private String receivestationid;
	private Date receivetime;
	private BigDecimal orbitid;
	private String atttype;
	private String stripid;
	private String producetype;
	private String productlevel;
	private String productformat;
	private Date scenedate;
	private String bandnumber;
	private BigDecimal scenepath;
	private BigDecimal scenerow;
	private BigDecimal satpath;
	private BigDecimal satrow;
	private BigDecimal scenecount;
	private BigDecimal sceneshift;
	private Date starttime;
	private Date endtime;
	private Date centertime;
	private BigDecimal startline;
	private BigDecimal endline;
	private BigDecimal imagegsd;
	private BigDecimal widthinpixels;
	private BigDecimal heightinpixels;
	private BigDecimal widthinmeters;
	private BigDecimal heightinmeters;
	private String regionname;
	private BigDecimal cloudpercent;
	private BigDecimal datasize;
	private BigDecimal rollviewingangle;
	private BigDecimal pitchviewingangle;
	private BigDecimal rollsatelliteangle;
	private BigDecimal pitchsatelliteangle;
	private BigDecimal yawsatelliteangle;
	private BigDecimal solarazimuth;
	private BigDecimal solarzenith;
	private BigDecimal satelliteazimuth;
	private BigDecimal satellitezenith;
	private String gainmode;
	private Date integrationtime;
	private String integrationlevel;
	private String earthellipsoid;
	private BigDecimal zoneno;
	private String resamplingkernel;
	private String heightmode;
	private String ephemerisdata;
	private String attitudedata;
	private String radiometricmethod;
	private String mtfcorrection;
	private String denoise;
	private String rayleighcorrection;
	private BigDecimal usedgcpno;
	private BigDecimal centerlatitude;
	private BigDecimal centerlongitude;
	private Double topleftlatitude;
	private Double topleftlongitude;
	private Double toprightlatitude;
	private Double toprightlongitude;
	private Double bottomrightlatitude;
	private Double bottomrightlongitude;
	private Double bottomleftlatitude;
	private Double bottomleftlongitude;
	private BigDecimal topleftmapx;
	private BigDecimal topleftmapy;
	private BigDecimal toprightmapx;
	private BigDecimal toprightmapy;
	private BigDecimal bottomrightmapx;
	private BigDecimal bottomrightmapy;
	private BigDecimal bottomleftmapx;
	private BigDecimal bottomleftmapy;
	private String dataarchivefile;
	private String browsefilelocation;
	private String thumbfilelocation;
	private String orbittype;

	@Id
    @GeneratedValue(strategy=GenerationType.IDENTITY)
    @Column(name = "PRODUCTID")
	@SearchableProperty
	public String getProductid() {
		return productid;
	}
    
	@Column(name = "SATELLITEID")
	@SearchableId
	public String getSatelliteid() {
		return this.satelliteid;
	}

	public void setSatelliteid(String satelliteid) {
		this.satelliteid = satelliteid;
	}

	@Column(name = "SENSORID")
	@SearchableProperty
	public String getSensorid() {
		return this.sensorid;
	}

	public void setSensorid(String sensorid) {
		this.sensorid = sensorid;
	}

	@Column(name = "RECEIVESTATIONID")
	@SearchableProperty
	public String getReceivestationid() {
		return this.receivestationid;
	}

	public void setReceivestationid(String receivestationid) {
		this.receivestationid = receivestationid;
	}

	@Column(name = "SATPATH")
	@SearchableProperty
	public BigDecimal getSatpath() {
		return this.satpath;
	}

	public void setSatpath(BigDecimal satpath) {
		this.satpath = satpath;
	}

	@Column(name = "SATROW")
	@SearchableProperty
	public BigDecimal getSatrow() {
		return this.satrow;
	}

	public void setSatrow(BigDecimal satrow) {
		this.satrow = satrow;
	}

	@Column(name = "BROWSEFILELOCATION")
	@SearchableProperty
	public String getBrowsefilelocation() {
		return this.browsefilelocation;
	}

	public void setBrowsefilelocation(String browsefilelocation) {
		this.browsefilelocation = browsefilelocation;
	}

	public void setProductid(String productid) {
		this.productid = productid;
	}

	@Column(name = "SCENEID")
	@SearchableProperty
	public BigDecimal getSceneid() {
		return sceneid;
	}

	public void setSceneid(BigDecimal sceneid) {
		this.sceneid = sceneid;
	}

	@Column(name = "PRODUCTDATE")
	@SearchableProperty
	public Date getProductdate() {
		return productdate;
	}

	public void setProductdate(Date productdate) {
		this.productdate = productdate;
	}

	@Column(name = "MAPPROJECTION")
	@SearchableProperty
	public String getMapprojection() {
		return mapprojection;
	}

	public void setMapprojection(String mapprojection) {
		this.mapprojection = mapprojection;
	}

	@Column(name = "PRODUCTTYPE")
	@SearchableProperty
	public String getProducttype() {
		return producttype;
	}

	public void setProducttype(String producttype) {
		this.producttype = producttype;
	}

	@Column(name = "EARTHMODEL")
	@SearchableProperty
	public String getEarthmodel() {
		return earthmodel;
	}

	public void setEarthmodel(String earthmodel) {
		this.earthmodel = earthmodel;
	}

	@Column(name = "RECEIVETIME")
	@SearchableProperty
	public Date getReceivetime() {
		return receivetime;
	}

	public void setReceivetime(Date receivetime) {
		this.receivetime = receivetime;
	}

	@Column(name = "ORBITID")
	@SearchableProperty
	public BigDecimal getOrbitid() {
		return orbitid;
	}

	public void setOrbitid(BigDecimal orbitid) {
		this.orbitid = orbitid;
	}

	@Column(name = "ATTTYPE")
	@SearchableProperty
	public String getAtttype() {
		return atttype;
	}

	public void setAtttype(String atttype) {
		this.atttype = atttype;
	}

	@Column(name = "STRIPID")
	@SearchableProperty
	public String getStripid() {
		return stripid;
	}

	public void setStripid(String stripid) {
		this.stripid = stripid;
	}

	@Column(name = "PRODUCETYPE")
	@SearchableProperty
	public String getProducetype() {
		return producetype;
	}

	public void setProducetype(String producetype) {
		this.producetype = producetype;
	}

	@Column(name = "PRODUCTLEVEL")
	@SearchableProperty
	public String getProductlevel() {
		return productlevel;
	}

	public void setProductlevel(String productlevel) {
		this.productlevel = productlevel;
	}

	@Column(name = "PRODUCTFORMAT")
	@SearchableProperty
	public String getProductformat() {
		return productformat;
	}

	public void setProductformat(String productformat) {
		this.productformat = productformat;
	}

	@Column(name = "SCENEDATE")
	@SearchableProperty
	public Date getScenedate() {
		return scenedate;
	}

	public void setScenedate(Date scenedate) {
		this.scenedate = scenedate;
	}

	@Column(name = "BANDNUMBER")
	@SearchableProperty
	public String getBandnumber() {
		return bandnumber;
	}

	public void setBandnumber(String bandnumber) {
		this.bandnumber = bandnumber;
	}

	@Column(name = "SCENEPATH")
	@SearchableProperty
	public BigDecimal getScenepath() {
		return scenepath;
	}

	public void setScenepath(BigDecimal scenepath) {
		this.scenepath = scenepath;
	}

	@Column(name = "SCENEROW")
	@SearchableProperty
	public BigDecimal getScenerow() {
		return scenerow;
	}

	public void setScenerow(BigDecimal scenerow) {
		this.scenerow = scenerow;
	}

	@Column(name = "SCENECOUNT")
	@SearchableProperty
	public BigDecimal getScenecount() {
		return scenecount;
	}

	public void setScenecount(BigDecimal scenecount) {
		this.scenecount = scenecount;
	}

	@Column(name = "SCENESHIFT")
	@SearchableProperty
	public BigDecimal getSceneshift() {
		return sceneshift;
	}

	public void setSceneshift(BigDecimal sceneshift) {
		this.sceneshift = sceneshift;
	}

	@Column(name = "STARTTIME")
	@SearchableProperty
	public Date getStarttime() {
		return starttime;
	}

	public void setStarttime(Date starttime) {
		this.starttime = starttime;
	}

	@Column(name = "ENDTIME")
	@SearchableProperty
	public Date getEndtime() {
		return endtime;
	}

	public void setEndtime(Date endtime) {
		this.endtime = endtime;
	}

	@Column(name = "CENTERTIME")
	@SearchableProperty
	public Date getCentertime() {
		return centertime;
	}

	public void setCentertime(Date centertime) {
		this.centertime = centertime;
	}

	@Column(name = "STARTLINE")
	@SearchableProperty
	public BigDecimal getStartline() {
		return startline;
	}

	public void setStartline(BigDecimal startline) {
		this.startline = startline;
	}

	@Column(name = "ENDLINE")
	@SearchableProperty
	public BigDecimal getEndline() {
		return endline;
	}

	public void setEndline(BigDecimal endline) {
		this.endline = endline;
	}

	@Column(name = "IMAGEGSD")
	@SearchableProperty
	public BigDecimal getImagegsd() {
		return imagegsd;
	}

	public void setImagegsd(BigDecimal imagegsd) {
		this.imagegsd = imagegsd;
	}

	@Column(name = "WIDTHINPIXELS")
	@SearchableProperty
	public BigDecimal getWidthinpixels() {
		return widthinpixels;
	}

	public void setWidthinpixels(BigDecimal widthinpixels) {
		this.widthinpixels = widthinpixels;
	}

	@Column(name = "HEIGHTINPIXELS")
	@SearchableProperty
	public BigDecimal getHeightinpixels() {
		return heightinpixels;
	}

	public void setHeightinpixels(BigDecimal heightinpixels) {
		this.heightinpixels = heightinpixels;
	}

	@Column(name = "WIDTHINMETERS")
	@SearchableProperty
	public BigDecimal getWidthinmeters() {
		return widthinmeters;
	}

	public void setWidthinmeters(BigDecimal widthinmeters) {
		this.widthinmeters = widthinmeters;
	}

	@Column(name = "HEIGHTINMETERS")
	@SearchableProperty
	public BigDecimal getHeightinmeters() {
		return heightinmeters;
	}

	public void setHeightinmeters(BigDecimal heightinmeters) {
		this.heightinmeters = heightinmeters;
	}

	@Column(name = "REGIONNAME")
	@SearchableProperty
	public String getRegionname() {
		return regionname;
	}

	public void setRegionname(String regionname) {
		this.regionname = regionname;
	}

	@Column(name = "CLOUDPERCENT")
	@SearchableProperty
	public BigDecimal getCloudpercent() {
		return cloudpercent;
	}

	public void setCloudpercent(BigDecimal cloudpercent) {
		this.cloudpercent = cloudpercent;
	}

	@Column(name = "DATASIZE")
	@SearchableProperty
	public BigDecimal getDatasize() {
		return datasize;
	}

	public void setDatasize(BigDecimal datasize) {
		this.datasize = datasize;
	}

	@Column(name = "ROLLVIEWINGANGLE")
	@SearchableProperty
	public BigDecimal getRollviewingangle() {
		return rollviewingangle;
	}

	public void setRollviewingangle(BigDecimal rollviewingangle) {
		this.rollviewingangle = rollviewingangle;
	}

	@Column(name = "PITCHVIEWINGANGLE")
	@SearchableProperty
	public BigDecimal getPitchviewingangle() {
		return pitchviewingangle;
	}

	public void setPitchviewingangle(BigDecimal pitchviewingangle) {
		this.pitchviewingangle = pitchviewingangle;
	}

	@Column(name = "ROLLSATELLITEANGLE")
	@SearchableProperty
	public BigDecimal getRollsatelliteangle() {
		return rollsatelliteangle;
	}

	public void setRollsatelliteangle(BigDecimal rollsatelliteangle) {
		this.rollsatelliteangle = rollsatelliteangle;
	}

	@Column(name = "PITCHSATELLITEANGLE")
	@SearchableProperty
	public BigDecimal getPitchsatelliteangle() {
		return pitchsatelliteangle;
	}

	public void setPitchsatelliteangle(BigDecimal pitchsatelliteangle) {
		this.pitchsatelliteangle = pitchsatelliteangle;
	}

	@Column(name = "YAWSATELLITEANGLE")
	@SearchableProperty
	public BigDecimal getYawsatelliteangle() {
		return yawsatelliteangle;
	}

	public void setYawsatelliteangle(BigDecimal yawsatelliteangle) {
		this.yawsatelliteangle = yawsatelliteangle;
	}

	@Column(name = "SOLARAZIMUTH")
	@SearchableProperty
	public BigDecimal getSolarazimuth() {
		return solarazimuth;
	}

	public void setSolarazimuth(BigDecimal solarazimuth) {
		this.solarazimuth = solarazimuth;
	}

	@Column(name = "SOLARZENITH")
	@SearchableProperty
	public BigDecimal getSolarzenith() {
		return solarzenith;
	}

	public void setSolarzenith(BigDecimal solarzenith) {
		this.solarzenith = solarzenith;
	}

	@Column(name = "SATELLITEAZIMUTH")
	@SearchableProperty
	public BigDecimal getSatelliteazimuth() {
		return satelliteazimuth;
	}

	public void setSatelliteazimuth(BigDecimal satelliteazimuth) {
		this.satelliteazimuth = satelliteazimuth;
	}

	@Column(name = "SATELLITEZENITH")
	@SearchableProperty
	public BigDecimal getSatellitezenith() {
		return satellitezenith;
	}

	public void setSatellitezenith(BigDecimal satellitezenith) {
		this.satellitezenith = satellitezenith;
	}

	@Column(name = "GAINMODE")
	@SearchableProperty
	public String getGainmode() {
		return gainmode;
	}

	public void setGainmode(String gainmode) {
		this.gainmode = gainmode;
	}

	@Column(name = "INTEGRATIONTIME")
	@SearchableProperty
	public Date getIntegrationtime() {
		return integrationtime;
	}

	public void setIntegrationtime(Date integrationtime) {
		this.integrationtime = integrationtime;
	}

	@Column(name = "INTEGRATIONLEVEL")
	@SearchableProperty
	public String getIntegrationlevel() {
		return integrationlevel;
	}

	public void setIntegrationlevel(String integrationlevel) {
		this.integrationlevel = integrationlevel;
	}

	@Column(name = "EARTHELLIPSOID")
	@SearchableProperty
	public String getEarthellipsoid() {
		return earthellipsoid;
	}

	public void setEarthellipsoid(String earthellipsoid) {
		this.earthellipsoid = earthellipsoid;
	}

	@Column(name = "ZONENO")
	@SearchableProperty
	public BigDecimal getZoneno() {
		return zoneno;
	}

	public void setZoneno(BigDecimal zoneno) {
		this.zoneno = zoneno;
	}

	@Column(name = "RESAMPLINGKERNEL")
	@SearchableProperty
	public String getResamplingkernel() {
		return resamplingkernel;
	}

	public void setResamplingkernel(String resamplingkernel) {
		this.resamplingkernel = resamplingkernel;
	}

	@Column(name = "HEIGHTMODE")
	@SearchableProperty
	public String getHeightmode() {
		return heightmode;
	}

	public void setHeightmode(String heightmode) {
		this.heightmode = heightmode;
	}

	@Column(name = "EPHEMERISDATA")
	@SearchableProperty
	public String getEphemerisdata() {
		return ephemerisdata;
	}

	public void setEphemerisdata(String ephemerisdata) {
		this.ephemerisdata = ephemerisdata;
	}

	@Column(name = "ATTITUDEDATA")
	@SearchableProperty
	public String getAttitudedata() {
		return attitudedata;
	}

	public void setAttitudedata(String attitudedata) {
		this.attitudedata = attitudedata;
	}

	@Column(name = "RADIOMETRICMETHOD")
	@SearchableProperty
	public String getRadiometricmethod() {
		return radiometricmethod;
	}

	public void setRadiometricmethod(String radiometricmethod) {
		this.radiometricmethod = radiometricmethod;
	}

	@Column(name = "MTFCORRECTION")
	@SearchableProperty
	public String getMtfcorrection() {
		return mtfcorrection;
	}

	public void setMtfcorrection(String mtfcorrection) {
		this.mtfcorrection = mtfcorrection;
	}

	@Column(name = "DENOISE")
	@SearchableProperty
	public String getDenoise() {
		return denoise;
	}

	public void setDenoise(String denoise) {
		this.denoise = denoise;
	}

	@Column(name = "RAYLEIGHCORRECTION")
	@SearchableProperty
	public String getRayleighcorrection() {
		return rayleighcorrection;
	}

	public void setRayleighcorrection(String rayleighcorrection) {
		this.rayleighcorrection = rayleighcorrection;
	}

	@Column(name = "USEDGCPNO")
	@SearchableProperty
	public BigDecimal getUsedgcpno() {
		return usedgcpno;
	}

	public void setUsedgcpno(BigDecimal usedgcpno) {
		this.usedgcpno = usedgcpno;
	}

	@Column(name = "CENTERLATITUDE")
	@SearchableProperty
	public BigDecimal getCenterlatitude() {
		return centerlatitude;
	}

	public void setCenterlatitude(BigDecimal centerlatitude) {
		this.centerlatitude = centerlatitude;
	}

	@Column(name = "CENTERLONGITUDE")
	@SearchableProperty
	public BigDecimal getCenterlongitude() {
		return centerlongitude;
	}

	public void setCenterlongitude(BigDecimal centerlongitude) {
		this.centerlongitude = centerlongitude;
	}

	@Column(name = "TOPLEFTLATITUDE")
	@SearchableProperty
	public Double getTopleftlatitude() {
		return topleftlatitude;
	}

	public void setTopleftlatitude(Double topleftlatitude) {
		this.topleftlatitude = topleftlatitude;
	}

	@Column(name = "TOPLEFTLONGITUDE")
	@SearchableProperty
	public Double getTopleftlongitude() {
		return topleftlongitude;
	}

	public void setTopleftlongitude(Double topleftlongitude) {
		this.topleftlongitude = topleftlongitude;
	}

	@Column(name = "TOPRIGHTLATITUDE")
	@SearchableProperty
	public Double getToprightlatitude() {
		return toprightlatitude;
	}

	public void setToprightlatitude(Double toprightlatitude) {
		this.toprightlatitude = toprightlatitude;
	}

	@Column(name = "TOPRIGHTLONGITUDE")
	@SearchableProperty
	public Double getToprightlongitude() {
		return toprightlongitude;
	}

	public void setToprightlongitude(Double toprightlongitude) {
		this.toprightlongitude = toprightlongitude;
	}

	@Column(name = "BOTTOMRIGHTLATITUDE")
	@SearchableProperty
	public Double getBottomrightlatitude() {
		return bottomrightlatitude;
	}

	public void setBottomrightlatitude(Double bottomrightlatitude) {
		this.bottomrightlatitude = bottomrightlatitude;
	}

	@Column(name = "BOTTOMRIGHTLONGITUDE")
	@SearchableProperty
	public Double getBottomrightlongitude() {
		return bottomrightlongitude;
	}

	public void setBottomrightlongitude(Double bottomrightlongitude) {
		this.bottomrightlongitude = bottomrightlongitude;
	}

	@Column(name = "BOTTOMLEFTLATITUDE")
	@SearchableProperty
	public Double getBottomleftlatitude() {
		return bottomleftlatitude;
	}

	public void setBottomleftlatitude(Double bottomleftlatitude) {
		this.bottomleftlatitude = bottomleftlatitude;
	}

	@Column(name = "BOTTOMLEFTLONGITUDE")
	@SearchableProperty
	public Double getBottomleftlongitude() {
		return bottomleftlongitude;
	}

	public void setBottomleftlongitude(Double bottomleftlongitude) {
		this.bottomleftlongitude = bottomleftlongitude;
	}

	@Column(name = "TOPLEFTMAPX")
	@SearchableProperty
	public BigDecimal getTopleftmapx() {
		return topleftmapx;
	}

	public void setTopleftmapx(BigDecimal topleftmapx) {
		this.topleftmapx = topleftmapx;
	}

	@Column(name = "TOPLEFTMAPY")
	@SearchableProperty
	public BigDecimal getTopleftmapy() {
		return topleftmapy;
	}

	public void setTopleftmapy(BigDecimal topleftmapy) {
		this.topleftmapy = topleftmapy;
	}

	@Column(name = "TOPRIGHTMAPX")
	@SearchableProperty
	public BigDecimal getToprightmapx() {
		return toprightmapx;
	}

	public void setToprightmapx(BigDecimal toprightmapx) {
		this.toprightmapx = toprightmapx;
	}

	@Column(name = "TOPRIGHTMAPY")
	@SearchableProperty
	public BigDecimal getToprightmapy() {
		return toprightmapy;
	}

	public void setToprightmapy(BigDecimal toprightmapy) {
		this.toprightmapy = toprightmapy;
	}

	@Column(name = "BOTTOMRIGHTMAPX")
	@SearchableProperty
	public BigDecimal getBottomrightmapx() {
		return bottomrightmapx;
	}

	public void setBottomrightmapx(BigDecimal bottomrightmapx) {
		this.bottomrightmapx = bottomrightmapx;
	}

	@Column(name = "BOTTOMRIGHTMAPY")
	@SearchableProperty
	public BigDecimal getBottomrightmapy() {
		return bottomrightmapy;
	}

	public void setBottomrightmapy(BigDecimal bottomrightmapy) {
		this.bottomrightmapy = bottomrightmapy;
	}

	@Column(name = "BOTTOMLEFTMAPX")
	@SearchableProperty
	public BigDecimal getBottomleftmapx() {
		return bottomleftmapx;
	}

	public void setBottomleftmapx(BigDecimal bottomleftmapx) {
		this.bottomleftmapx = bottomleftmapx;
	}

	@Column(name = "BOTTOMLEFTMAPY")
	@SearchableProperty
	public BigDecimal getBottomleftmapy() {
		return bottomleftmapy;
	}

	public void setBottomleftmapy(BigDecimal bottomleftmapy) {
		this.bottomleftmapy = bottomleftmapy;
	}

	@Column(name = "DATAARCHIVEFILE")
	@SearchableProperty
	public String getDataarchivefile() {
		return dataarchivefile;
	}

	public void setDataarchivefile(String dataarchivefile) {
		this.dataarchivefile = dataarchivefile;
	}

	@Column(name = "THUMBFILELOCATION")
	@SearchableProperty
	public String getThumbfilelocation() {
		return thumbfilelocation;
	}

	public void setThumbfilelocation(String thumbfilelocation) {
		this.thumbfilelocation = thumbfilelocation;
	}
	
	@Column(name = "ORBITTYPE")
	@SearchableProperty
	public String getOrbittype() {
		return orbittype;
	}

	public void setOrbittype(String orbittype) {
		this.orbittype = orbittype;
	}
}